﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Expect.Core.CodeGen
{
    using System.CodeDom.Compiler;

    /// <summary>
    /// Context data for code generation
    /// </summary>
    public class GenerationInfo
    {
        /// <summary>
        /// Project folder
        /// </summary>
        public string ProjectFolder { get; set; }

        /// <summary>
        /// Project name
        /// </summary>
        public string ProjectName { get; set; }

        /// <summary>
        /// Project name
        /// </summary>
        public string ParentName { get; set; }
        
        /// <summary>
        /// Assembly name
        /// </summary>
        public string AssemblyName { get; set; }

        /// <summary>
        /// Default namespace
        /// </summary>
        public string DefaultNamespace { get; set; }

        /// <summary>
        /// Code file namespace
        /// </summary>
        public string CodeFileNameSpace { get; set; }

        /// <summary>
        /// Code file path
        /// </summary>
        public string CodeFilePath { get; set; }

        /// <summary>
        /// Code file name
        /// </summary>
        public string CodeFileName { get; set; }

        /// <summary>
        /// Code dom provider
        /// </summary>
        public CodeDomProvider Provider { get; set; }

        /// <summary>
        /// Code generation configuration
        /// </summary>
        public CodeGenConfig Config { get; set; }
    }
}
